package com.geniusk.system.model.bo.device;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 修改设备BO
 */
@Data
public class UpdateDeviceBO {

    /**
     * 设备ID
     */
    @NotNull(message = "设备ID不能为空")
    @Min(value = 1, message = "设备ID不能小于1")
    private Long deviceId;

    /**
     * 模型ID
     */
    @NotNull(message = "模型ID不能为空")
    @Min(value = 1, message = "模型ID不能小于1")
    private Long modelId;

    /**
     * 组织ID
     */
    @NotNull(message = "组织ID不能为空")
    @Min(value = 1, message = "组织ID不能小于1")
    private Long groupId;

    /**
     * 设备名称
     */
    @NotBlank(message = "设备名称不能为空")
    @Length(max = 200,message = "设备名称不能超过200个字符")
    private String deviceName;

    /**
     * 设备类型
     */
    @NotBlank(message = "设备类型不能为空")
    private String type;

    /**
     * 是否公开
     */
    @NotBlank(message = "是否公开不能为空")
    private String isPublic;

    /**
     * 设备图标
     */
    @Length(max = 200,message = "设备图标不能超过200个字符")
    private String icon;

    /**
     * 设备封面
     */
    @Length(max = 200,message = "设备封面不能超过200个字符")
    private String cover;

    /**
     * 视频地址
     */
    @Length(max = 200,message = "视频地址不能超过200个字符")
    private String videoUrl;

    /**
     * 固件版本
     */
    @Length(max = 10,message = "固件版本不能超过10个字符")
    private String version;

    /**
     * 固件地址
     */
    @Length(max = 200,message = "固件地址不能超过200个字符")
    private String firmwareUrl;

    /**
     * 备注
     */
    @Length(max = 500,message = "备注不能超过500个字符")
    private String remark;
}
